/*
 * Hibiscus is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by the Free Software Foundation; either version 3 of the License,
 * or (at your option) any later version.
 *
 * Hibiscus is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Hibiscus; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 * USA
 *
 * Copyright (C) 2003 Tetete - http://tetete.hu.
 */
package hu.tetete.hibiscus.edittaxon;

import java.io.Serializable;
import java.util.HashMap;

import hu.tetete.hibiscus.model.Taxon;
import hu.tetete.hibiscus.model.TaxonLevel;
import hu.tetete.hibiscus.propertyvalue.PropertyValue;

/**
 * Contains everything relating to a taxon.
 */
public class TaxonDto implements Serializable {

    /** @see Serializable */
    private static final long serialVersionUID = 1L;

    private Long                         id;
    private String                       name;
    private String                       scienceName;
    private TaxonLevel                   taxonLevel;
    private Taxon                        parentTaxon;
    private HashMap<Long, PropertyValue> values;
    /**
     * @return the id
     */
    public Long getId() {
        return this.id;
    }
    /**
     * @param id the id to set
     */
    public void setId(final Long id) {
        this.id = id;
    }
    /**
     * @return the name
     */
    public String getName() {
        return this.name;
    }
    /**
     * @param name the name to set
     */
    public void setName(final String name) {
        this.name = name;
    }
    /**
     * @return the scienceName
     */
    public String getScienceName() {
        return this.scienceName;
    }
    /**
     * @param scienceName the scienceName to set
     */
    public void setScienceName(final String scienceName) {
        this.scienceName = scienceName;
    }
    /**
     * @return the taxonLevel
     */
    public TaxonLevel getTaxonLevel() {
        return this.taxonLevel;
    }
    /**
     * @param taxonLevel the taxonLevel to set
     */
    public void setTaxonLevel(final TaxonLevel taxonLevel) {
        this.taxonLevel = taxonLevel;
    }
    /**
     * @return the parentTaxon
     */
    public Taxon getParentTaxon() {
        return this.parentTaxon;
    }
    /**
     * @param parentTaxon the parentTaxon to set
     */
    public void setParentTaxon(final Taxon parentTaxon) {
        this.parentTaxon = parentTaxon;
    }
    /**
     * @return the values
     */
    public HashMap<Long, PropertyValue> getValues() {
        return this.values;
    }
    /**
     * @param values the values to set
     */
    public void setValues(final HashMap<Long, PropertyValue> values) {
        this.values = values;
    }

}
